1
クライアント・サーバー型プログラミングモデル
AI031Lesson 11
00:00

この クライアント・サーバー型プログラミングモデル は、分散型アプリケーションの基盤となるアーキテクチャです。これはハードウェアによって定義されるものではなく、 論理的なトランザクション という2つのプロセス間の クライアント がリソースの要求を開始し、 リソース、そして サーバー がそのリソースを管理・提供するものです。

1. 4段階のトランザクション

すべての相互作用は厳密な手順に従います。(1) クライアントがリクエストを送信;(2) サーバーがリクエストを解釈し、ローカルリソースを処理;(3) サーバーが応答を送信;(4) クライアントが受信したデータを処理(例:HTMLのレンダリング)。

2. ハードウェアの構成

通信は ネットワークアダプタと呼ばれる入出力デバイスに依存しています。データはCPUから I/Oブリッジ および システムバス を経由して メインメモリへと移動します。例えば http://www.google.com:80のようなウェブリクエストでは、パケットがこれらのバスを通過してアプリケーションコードに到達します。

ユーザー:クライアント/サーバーカーネル:TCP/IPハードウェアI/Oバス(ネットワークアダプタ|ディスク|グラフィックス)

3. プロトコルの抽象化

現代のアプリケーションは ネットワークバイトオーダー(ビッグエンディアン) を用いて一貫性を持たせます。例として getaddrinfoドメイン名からIPアドレスへのマッピング という機能を提供しつつ、プロトコルに依存しないままです。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>